网站的开发模式到目前经历了三大历程
前后端不分离

所谓前后端不分离,就是我中有你,你中有无,带有.html的文件中不光含有html代码,还有相应的后端语言的代码。
比如用java开发的网站,html中就会带有一些java的逻辑的代码,python开发的就会带有python的代码。
缺点:
- 对服务器的压力比较大,因为很多这种渲染的工作都是由后端服务器完成的,它需要解析混淆于html中的后端语言代码
- 开发效率低,会前端了还得学后端,会后端了还得学前端。
- bug难找,想象一下,当一些逻辑混淆在html中想去找bug那是有多么痛苦
前后端分离-ajax
自从ajax的出现,前后端就明显的划分了一条界限,前端负责界面,后端负责数据的接口。
它的模式是在js代码中 写入一些异步获取后端数据的代码,当浏览器加载js文件到那段代码时就会主动向后端发送请求,然后前端人员可以根据一些回调函数
来实现无刷新对页面插入数据
前后端分离-前端路由
在上一个阶段,网站的代码结构还是 界面1-html1-css1-js-1 ,界面2-html2-css2-js2 。这种,几乎每个界面都对应着自己的一套html,css,js代码。
至于返回哪一套是后端代码根据请求的url来进行路由的,分离的不够彻底。
自从一些新的框架出现后比如vue,react等。
出现了一种新的操纵,叫做前端路由,有了它可以进行不刷新界面获得数据。
前端向后端无论请求啥后端都只有一套,html,css,js。比如前端发起请求:https://index
后端返回一套html,css,js这套代码里面就包含了所有的页面和需要的静态文件,当用户发起一个新的请求时url :https://index/user_center/
前端路由就会根据这个url来在第一次请求的代码里抽出新界面需要的代码,无需再次向后端服务器发送get请求。
所以这就实现了无刷新更新界面,即使没有后端,这个界面依旧能完美的运行,只是没有相应的数据而已。
优点:
- 前端人员只写前端,无需关注后端代码,增加开发效率
- 可以实现一套代码多端使用,手机app/pc端/小程序,而后端无需更换任何代码
- 速度更快,把渲染界面这个工作完全交给浏览器执行,减去了服务器压力